package com.ruoyi.web.core.config;

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;

@Aspect
@Component
public class LoginCheckAspect {

    @Before("@annotation(com.ruoyi.web.core.config.sqlYz.LoginRequired)")
    public void checkLogin() {
        // 这里添加实际的登录状态检查逻辑
        // 例如，从Spring Security的SecurityContextHolder中获取Authentication对象来检查用户是否登录
//        检测是否 账号顶了 获取请求得 头部信息
        System.out.println("执行了");
//        System.out.println(request.getHeader("token"));
        // 如果未登录，可以抛出自定义异常或处理逻辑
        // 示例逻辑，实际应用中需要替换为真实实现
        if (!isUserLoggedIn()) {
            throw new NotLoggedInException("用户未登录");
        }
    }

    private boolean isUserLoggedIn() {
        // 实现检查用户登录状态的逻辑
        // 这里仅作示例，具体实现取决于你的认证机制
        return true; // 假定有一个方法能检查登录状态，这里返回true表示已登录
    }
}
